package shwp.servlets;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import shm.capaDatos.vo.UsuarioVO;
import shwp.modelo.BusinessDelegate;


@WebServlet("/LoginServlet")
public class Login extends ServletBase {
	private static final long serialVersionUID = 1L;
       
    public Login() {
        super();
    }
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String usuario = request.getParameter("usuario");
        String pass = request.getParameter("pass");       
        UsuarioVO usuarioVO = BusinessDelegate.getInstancia().validarUsuario(new UsuarioVO(null, usuario, pass, null, null, null, null));
        Integer idUsuarioLogueado = 0;
        HttpSession session = request.getSession();
        if( usuarioVO != null ){
            session.setMaxInactiveInterval(1800);
            idUsuarioLogueado = usuarioVO.getId();
        	session.setAttribute("idUsuarioLogueado", idUsuarioLogueado);
        	obtenerUsuarioLogueado(request);
        	request.setAttribute("usuarioLogueado", usuarioLogueado);
        	if(usuarioLogueado.getPerfil().getNombre().equals("Administrador")){
        		session.setAttribute("menuTipo", "admin");
        	}else{
        		session.setAttribute("menuTipo", "basico");
        	}
            Cookie nombreUsuario = new Cookie("nombreUsuario", usuarioVO.getNombreUsuario());
            nombreUsuario.setMaxAge(1800);
            response.addCookie(nombreUsuario);
            mensajeExito = "Bienvenido " + usuarioVO.getNombreUsuario();
            this.redirect( request, response, "index.jsp" );
        }else{
            mensajeError = "El usuario y/o clave ingresados son incorrectos.";
            this.redirect( request, response, "login.jsp" );        
        }
	}
}
